package swimv2.ejb.entity;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.JoinColumn;
import javax.persistence.Column;

@Entity
@Table(name = "Notifica")
public class Notifica implements Serializable{

	private static final long serialVersionUID = 1L;
	public enum TipoDiNotifica {
		MESSAGGIODITESTO,
		AGGIUNTACAPACITA,
		RICHIESTAAMICIZIA,
		CONFERMARICHIESTA
	}
	
	@Column(name="tipo")
	private TipoDiNotifica tipo;
	
	@Column(name="letto")
	private boolean letto =false;
	
	@Column(name="messaggio")
	private String messaggio;
	
	@OneToOne
	@JoinColumn(name="mittente")
	private Utente mittente;
	

	  @Id
	  @GeneratedValue(strategy=GenerationType.AUTO)
	  @Column(name="NOTIFICA_ID")
	private int id;
	
	

	public Notifica(TipoDiNotifica tipo, String messaggio, Utente utente)
	{
		super();
		this.tipo = tipo;
		this.messaggio = messaggio;
		this.mittente = utente;
		
		
	}
	public Notifica()
	{
		
		
	}

	  
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}



	public String getMessaggio() {
		return messaggio;
	}



	public void setMessaggio(String messaggio) {
		this.messaggio = messaggio;
	}



	public Utente getMittente() {
		return mittente;
	}



	public void setMittente(Utente mittente) {
		this.mittente = mittente;
	}



	public TipoDiNotifica getTipo() {
		return tipo;
	}



	public void setTipo(TipoDiNotifica tipo) {
		this.tipo = tipo;
	}



	public boolean isLetto() {
		return letto;
	}



	public void setLetto(boolean letto) {
		this.letto = letto;
	}
	
}
